#ifndef __LOGGERHTML_H__
#define __LOGGERHTML_H__

#include "Logger.h"
#include <stdio.h>

namespace RayFrame
{
  class LoggerHtml: public LogPolicy
  {
  protected:
    FILE* m_file;
    STRING m_filename;

    virtual void internalCreate();
    virtual void internalDestroy();
  public:
    enum LoggerColor
    {
      LogRed,
      LogGreen,
      LogBlue,
      LogBlack,
      LogColorCount,
    };

    enum LoggerFormat
    {
      LogTitle,
      LogHeader,
      LogSubheader,
      LogContent,
      LogList,
      LogFormatCount,
    };
  public:
    LoggerHtml();

    virtual void Create(STRING filename);
    virtual void Destroy();

    virtual void Write(STRING content, LogLevel level);
    virtual void WriteBanner(STRING content);

    virtual void WriteFormat(STRING content, LogLevel level, LoggerFormat format);
  };
};

#endif